const express = require('express')
const app = express()
const path = require('path')

//使用express的内置中间件urllencoded可以获取(form表单)数据
app.use(express.urlencoded())
//使用express的内置中间件jsonke可以获取到json形式的数据
app.use(express.json())

//部署查询学生信息接口
app.get('/user', (req, res) => {
  //在get中无法使用body，因为get就是请求数据，只需要服务端响应
  //获取前台的查询字符串进行判断
  const { userId } = req.query
  //测试获取
  console.log(userId);
  if (userId !== '001') {
    //这里return用来退出的
    return res.send({
      code: 10001,
      message: '获取失败',
      data: null
    })
  }
  //设置响应
  res.send({
    code: 10000,
    message: '获取成功',
    data: null
  })
})

app.post('/adduser', (req, res) => {
  //解构赋值
  const { userId, name, age } = req.body
  //测试获取
  if (!userId || !name || !age) {
    //这里return用来退出的
    return res.send({
      code: 10001,
      message: '添加失败，内容不能为空',
      data: null
    })
  }
  //设置响应
  res.send({
    code: 10000,
    message: '添加成功',
    data: req.body
  })
})

app.put('/putuser', (req, res) => {
  //解构赋值
  const { userId, name, age } = req.body
  //测试获取
  if (!userId || !name || !age) {
    //这里return用来退出的
    return res.send({
      code: 10001,
      message: '修改失败，内容不能为空',
      data: null
    })
  }
  //设置响应
  res.send({
    code: 10000,
    message: '修改成功',
    data: req.body
  })
})

app.delete('/deleteuser', (req, res) => {
  const { userId } = req.query
  //测试获取
  console.log(userId);
  if (userId !== '001') {
    //这里return用来退出的
    return res.send({
      code: 10001,
      message: '删除失败',
      data: null
    })
  }
  //设置响应
  res.send({
    code: 10000,
    message: '删除成功',
    data: null
  })
})

//部署静态资源
app.all('/1', (req, res) => {
  //resolve会自动拼接路径
  const filePath = path.resolve(__dirname, './3.axios请求别名.html')
  //设置响应
  res.sendFile(filePath)
})

app.listen(8090, () => {
  console.log('服务器启动成功，请访问http://127.0.0.1:8090');
})